package com.ideaaedi.zoo.example.springboot.i18n.spring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/*
 * 示例：在底座zoo-foundation上集成zoo-diy-feature-i18n
 */
@SpringBootApplication
public class ExampleSpringbootI18nApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(ExampleSpringbootI18nApplication.class, args);
        System.err.println();
        System.err.println();
        System.err.print(
                """
                        启动项目后，可以这样测试
                        方式一：借助接口工具（如postman），发送请求"http://localhost:8080/demo"，并在请求头中指定language或lang来设定语言
                        方式一：借助curl指令
                            美式英文：curl -X GET -H "language:en-US"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:en-US"  "http://localhost:8080/demo"
                            简体中文：curl -X GET -H "language:zh-CN"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:zh-CN"  "http://localhost:8080/demo"
                            繁体中文：curl -X GET -H "language:zh-TW"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:zh-TW"  "http://localhost:8080/demo"
                            通用英文：curl -X GET -H "language:en-NON_EXIST"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:en-NON_EXIST"  "http://localhost:8080/demo"
                                     curl -X GET -H "language:en"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:en"  "http://localhost:8080/demo"
                            通用中文：curl -X GET -H "language:zh-NON_EXIST"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:zh-NON_EXIST"  "http://localhost:8080/demo"
                                     curl -X GET -H "language:zh"  "http://localhost:8080/demo"
                                     curl -X GET -H "lang:zh"  "http://localhost:8080/demo"
                        
                            说明： Spring 会按以下顺序匹配最合适的文件（假设进行i18n时参数为en_US，而应用本身为zh_CN）
                                      1. messages_en_US.properties （对参数Locale进行 精确匹配）
                                      2. messages_en.properties （对参数Locale进行 仅语言匹配）
                                      3. messages_zh_CN.properties （对本地Locale进行 精确匹配）
                                      4. messages_zh.properties （对本地Locale进行 仅语言匹配）
                                      5. messages.properties （最终兜底文件）
                        """
        );
        System.err.println();
        System.err.println();
        System.err.println();
        System.err.println();
    }
    
}
